package com.cn.kehong.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ProductPeiJizhongCollectExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProductPeiJizhongCollectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGuannumIsNull() {
            addCriterion("guannum is null");
            return (Criteria) this;
        }

        public Criteria andGuannumIsNotNull() {
            addCriterion("guannum is not null");
            return (Criteria) this;
        }

        public Criteria andGuannumEqualTo(String value) {
            addCriterion("guannum =", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumNotEqualTo(String value) {
            addCriterion("guannum <>", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumGreaterThan(String value) {
            addCriterion("guannum >", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumGreaterThanOrEqualTo(String value) {
            addCriterion("guannum >=", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumLessThan(String value) {
            addCriterion("guannum <", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumLessThanOrEqualTo(String value) {
            addCriterion("guannum <=", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumLike(String value) {
            addCriterion("guannum like", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumNotLike(String value) {
            addCriterion("guannum not like", value, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumIn(List<String> values) {
            addCriterion("guannum in", values, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumNotIn(List<String> values) {
            addCriterion("guannum not in", values, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumBetween(String value1, String value2) {
            addCriterion("guannum between", value1, value2, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuannumNotBetween(String value1, String value2) {
            addCriterion("guannum not between", value1, value2, "guannum");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoIsNull() {
            addCriterion("guantouliao is null");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoIsNotNull() {
            addCriterion("guantouliao is not null");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoEqualTo(String value) {
            addCriterion("guantouliao =", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoNotEqualTo(String value) {
            addCriterion("guantouliao <>", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoGreaterThan(String value) {
            addCriterion("guantouliao >", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoGreaterThanOrEqualTo(String value) {
            addCriterion("guantouliao >=", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoLessThan(String value) {
            addCriterion("guantouliao <", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoLessThanOrEqualTo(String value) {
            addCriterion("guantouliao <=", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoLike(String value) {
            addCriterion("guantouliao like", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoNotLike(String value) {
            addCriterion("guantouliao not like", value, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoIn(List<String> values) {
            addCriterion("guantouliao in", values, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoNotIn(List<String> values) {
            addCriterion("guantouliao not in", values, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoBetween(String value1, String value2) {
            addCriterion("guantouliao between", value1, value2, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andGuantouliaoNotBetween(String value1, String value2) {
            addCriterion("guantouliao not between", value1, value2, "guantouliao");
            return (Criteria) this;
        }

        public Criteria andTstarttimeIsNull() {
            addCriterion("tstarttime is null");
            return (Criteria) this;
        }

        public Criteria andTstarttimeIsNotNull() {
            addCriterion("tstarttime is not null");
            return (Criteria) this;
        }

        public Criteria andTstarttimeEqualTo(String value) {
            addCriterion("tstarttime =", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeNotEqualTo(String value) {
            addCriterion("tstarttime <>", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeGreaterThan(String value) {
            addCriterion("tstarttime >", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeGreaterThanOrEqualTo(String value) {
            addCriterion("tstarttime >=", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeLessThan(String value) {
            addCriterion("tstarttime <", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeLessThanOrEqualTo(String value) {
            addCriterion("tstarttime <=", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeLike(String value) {
            addCriterion("tstarttime like", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeNotLike(String value) {
            addCriterion("tstarttime not like", value, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeIn(List<String> values) {
            addCriterion("tstarttime in", values, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeNotIn(List<String> values) {
            addCriterion("tstarttime not in", values, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeBetween(String value1, String value2) {
            addCriterion("tstarttime between", value1, value2, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTstarttimeNotBetween(String value1, String value2) {
            addCriterion("tstarttime not between", value1, value2, "tstarttime");
            return (Criteria) this;
        }

        public Criteria andTendtimeIsNull() {
            addCriterion("tendtime is null");
            return (Criteria) this;
        }

        public Criteria andTendtimeIsNotNull() {
            addCriterion("tendtime is not null");
            return (Criteria) this;
        }

        public Criteria andTendtimeEqualTo(String value) {
            addCriterion("tendtime =", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeNotEqualTo(String value) {
            addCriterion("tendtime <>", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeGreaterThan(String value) {
            addCriterion("tendtime >", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeGreaterThanOrEqualTo(String value) {
            addCriterion("tendtime >=", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeLessThan(String value) {
            addCriterion("tendtime <", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeLessThanOrEqualTo(String value) {
            addCriterion("tendtime <=", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeLike(String value) {
            addCriterion("tendtime like", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeNotLike(String value) {
            addCriterion("tendtime not like", value, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeIn(List<String> values) {
            addCriterion("tendtime in", values, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeNotIn(List<String> values) {
            addCriterion("tendtime not in", values, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeBetween(String value1, String value2) {
            addCriterion("tendtime between", value1, value2, "tendtime");
            return (Criteria) this;
        }

        public Criteria andTendtimeNotBetween(String value1, String value2) {
            addCriterion("tendtime not between", value1, value2, "tendtime");
            return (Criteria) this;
        }

        public Criteria andGuanliIsNull() {
            addCriterion("guanli is null");
            return (Criteria) this;
        }

        public Criteria andGuanliIsNotNull() {
            addCriterion("guanli is not null");
            return (Criteria) this;
        }

        public Criteria andGuanliEqualTo(String value) {
            addCriterion("guanli =", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliNotEqualTo(String value) {
            addCriterion("guanli <>", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliGreaterThan(String value) {
            addCriterion("guanli >", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliGreaterThanOrEqualTo(String value) {
            addCriterion("guanli >=", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliLessThan(String value) {
            addCriterion("guanli <", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliLessThanOrEqualTo(String value) {
            addCriterion("guanli <=", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliLike(String value) {
            addCriterion("guanli like", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliNotLike(String value) {
            addCriterion("guanli not like", value, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliIn(List<String> values) {
            addCriterion("guanli in", values, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliNotIn(List<String> values) {
            addCriterion("guanli not in", values, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliBetween(String value1, String value2) {
            addCriterion("guanli between", value1, value2, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuanliNotBetween(String value1, String value2) {
            addCriterion("guanli not between", value1, value2, "guanli");
            return (Criteria) this;
        }

        public Criteria andGuantieIsNull() {
            addCriterion("guantie is null");
            return (Criteria) this;
        }

        public Criteria andGuantieIsNotNull() {
            addCriterion("guantie is not null");
            return (Criteria) this;
        }

        public Criteria andGuantieEqualTo(String value) {
            addCriterion("guantie =", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieNotEqualTo(String value) {
            addCriterion("guantie <>", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieGreaterThan(String value) {
            addCriterion("guantie >", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieGreaterThanOrEqualTo(String value) {
            addCriterion("guantie >=", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieLessThan(String value) {
            addCriterion("guantie <", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieLessThanOrEqualTo(String value) {
            addCriterion("guantie <=", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieLike(String value) {
            addCriterion("guantie like", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieNotLike(String value) {
            addCriterion("guantie not like", value, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieIn(List<String> values) {
            addCriterion("guantie in", values, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieNotIn(List<String> values) {
            addCriterion("guantie not in", values, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieBetween(String value1, String value2) {
            addCriterion("guantie between", value1, value2, "guantie");
            return (Criteria) this;
        }

        public Criteria andGuantieNotBetween(String value1, String value2) {
            addCriterion("guantie not between", value1, value2, "guantie");
            return (Criteria) this;
        }

        public Criteria andFactoryNameIsNull() {
            addCriterion("factory_name is null");
            return (Criteria) this;
        }

        public Criteria andFactoryNameIsNotNull() {
            addCriterion("factory_name is not null");
            return (Criteria) this;
        }

        public Criteria andFactoryNameEqualTo(String value) {
            addCriterion("factory_name =", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotEqualTo(String value) {
            addCriterion("factory_name <>", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameGreaterThan(String value) {
            addCriterion("factory_name >", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameGreaterThanOrEqualTo(String value) {
            addCriterion("factory_name >=", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameLessThan(String value) {
            addCriterion("factory_name <", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameLessThanOrEqualTo(String value) {
            addCriterion("factory_name <=", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameLike(String value) {
            addCriterion("factory_name like", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotLike(String value) {
            addCriterion("factory_name not like", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameIn(List<String> values) {
            addCriterion("factory_name in", values, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotIn(List<String> values) {
            addCriterion("factory_name not in", values, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameBetween(String value1, String value2) {
            addCriterion("factory_name between", value1, value2, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotBetween(String value1, String value2) {
            addCriterion("factory_name not between", value1, value2, "factoryName");
            return (Criteria) this;
        }

        public Criteria andUsedIsNull() {
            addCriterion("used is null");
            return (Criteria) this;
        }

        public Criteria andUsedIsNotNull() {
            addCriterion("used is not null");
            return (Criteria) this;
        }

        public Criteria andUsedEqualTo(String value) {
            addCriterion("used =", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotEqualTo(String value) {
            addCriterion("used <>", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedGreaterThan(String value) {
            addCriterion("used >", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedGreaterThanOrEqualTo(String value) {
            addCriterion("used >=", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLessThan(String value) {
            addCriterion("used <", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLessThanOrEqualTo(String value) {
            addCriterion("used <=", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLike(String value) {
            addCriterion("used like", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotLike(String value) {
            addCriterion("used not like", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedIn(List<String> values) {
            addCriterion("used in", values, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotIn(List<String> values) {
            addCriterion("used not in", values, "used");
            return (Criteria) this;
        }

        public Criteria andUsedBetween(String value1, String value2) {
            addCriterion("used between", value1, value2, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotBetween(String value1, String value2) {
            addCriterion("used not between", value1, value2, "used");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}